﻿using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class BirdEntityConfig : IEntityTypeConfiguration<Bird>
    {

        public void Configure(EntityTypeBuilder<Bird> builder)
        {
            builder.ToTable("T_Birds");
            builder.HasKey(e => e.Number) //配置主键
                ;
            builder.Property(e => e.Name)
                .HasColumnName("bird name") // 配置列明
                .HasColumnType("varchar(200)") //配置列数据类型
                ;

            builder.Ignore(p => p.Age1); // 排除属性映射
            builder.Property(e => e.Age2)
                .HasDefaultValue(6) // 设置默认值
                ;

            builder.HasIndex(b => b.A) // 索引
                .IsUnique(); // 唯一索引
            //builder.HasIndex(b => new { b.A, b.B })// 复合索引
            //    .IsClustered(); // 聚集索引
        }
    }
}
